package xyz.zcq.springframework.beans.factory;

import xyz.zcq.springframework.beans.BeanException;

/**
 * bean 工厂接口
 */
public interface BeanFactory {

    /**
     * 获取 bean
     *
     * @param name 名称
     * @return bean实例
     * @throws BeanException bean相关异常
     */
    Object getBean(String name) throws BeanException;

    /**
     * 获取 bean，支持构造函数参数
     *
     * @param name 名称
     * @param args 构造函数参数数组
     * @return bean实例
     * @throws BeanException bean相关异常
     */
    Object getBean(String name, Object... args) throws BeanException;

}
